// 管理用户的token
// 首先先导入操作cookie的方法
import { loginApi } from '@/api/user'
import {getToken,setToken,removeToken}from'@/utils/auth.js'
import { Message } from 'element-ui'
export default{
  namespaced:true,
  state:{
    // 保存token
  token:getToken() || ''
  },
  mutations:{
// 给token赋值
setToken(state,payload){
  // 存在vuex中
  state.token = payload
  // 存在cookie中
  setToken(payload)
  },
   // 删除token
   removeToken(state){
    // 清除vuex中的token
    state.token = ''
  // 清除cookie中的token
  removeToken()
  }
},
actions:{
   // 封装一个方法来完成登录
   async loginApi(ctx,data){
   try{
      // 调用登录接口
    const res = await loginApi(data)
    // 修改token的状态
    ctx.commit('setToken',res.data.data)
   }catch(err){
    //  捕获错误信息
    Message.error(err.message)
    // 返回错误信息
    return Promise.reject(err)
   }
  }
}
}
